#if !defined(APP_POOL_H)
#define APP_POOL_H

// 任务结构体
typedef struct
{
  int (*func)(void *); // 任务函数
  void *arg;        // 任务参数
} Task;

/**
* @brief 初始化线程池(同时创建消息队列)
* @param size 线程池大小
* @return int 0:成功 -1:失败
*/
int app_pool_init(int size);

/**
* @brief 关闭线程池
* @return int 0:成功 -1:失败
*/
int app_pool_close();

/**
* @brief 向线程池中添加任务
* @param func 任务函数
* @param argv 任务参数
*/
int app_pool_registerTask(	int (*func)(void *), void *argv);

#endif // APP_POOL_H